package com.wwlwxg.spring_security.config;

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisConfig {


  // mybatis-plus 3.4 以后
  @Bean
  public MybatisPlusInterceptor paginationInterceptor() {
    MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();

    PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
    paginationInnerInterceptor.setMaxLimit(500L);
    paginationInnerInterceptor.setOverflow(true);

    mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
    return mybatisPlusInterceptor;
  }

//  // mybatis-plus 3.4 以前
//  public PaginationInterceptor paginationInterceptor() {
//    PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
//    // 设置请求的页面大于最大页后操作， true 调回到首页，false继续请求，默认 false
////    paginationInterceptor.setOverflow(false);
//    //设置最大单页限制数量，默认 500 条，-1 不受限制
////    paginationInterceptor.setLimit(500);
//    //开启 count 的 join 优化，只针对部分 left join
//    paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
//    return paginationInterceptor;
//  }

}
